/*******************************************
 * RongHai js common-tools lib
 * version 1.0 lz
 * version 1.1 xcd 优化
 * version 1.2 xcd 处理表单填充selelct 元素 2015/02/05
 */
/*
$(document).ready(function(e) {
    var h =$("#bodywrapper").height();
	var toph=$("#head").height();
	$("#left").height((h-toph));
});*/
var wd;
/*
* 内容新建对话框
* title:对话框标题
* url:对话框url
* formId:表单id
* isLock: true锁屏；false不锁屏
*/
function add(title,url,formId,isLock){
	$.ajax(
	{
		url:url,
		cache:false,
		async:false,
		success: function(data){
			wd = $.dialog(
			{
				title:title,
				content:data,
				lock:isLock,
				init: function(){
					initForm(formId,"i");
				}
			}
			);
		}
	});
}
/*
*内容编辑对话框
* title:对话框标题
* url:对话框url
* dataurl:加载数据的url
* dataparam:加载数据url的参数，{id:1}格式
* formId:表单id
* isLock: true锁屏；false不锁屏
*/
function edit(title,url,dataurl,dataparam,formId,isLock){
	$.ajax(
	{
		url:url,
		cache:false,
		async:false,
		success: function(data){
			wd = $.dialog(
			{
				title:title,
				content:data,
				lock:isLock,
				init: function(){
					initForm(formId,"u");
					loadData(dataurl,dataparam);
				}
			}
			);
		}
	});
}

function editEx(title,url,dataparam,formId,isLock){
	$.ajax(
	{
		url:url,
		cache:false,
		async:false,
		success: function(data){
			wd = $.dialog(
			{
				title:title,
				content:data,
				lock:isLock,
				init: function(){
					initValidate(formId);
					setValue(dataparam);
				}
			}
			);
		}
	});
}
/**
*  删除确认提示
*/
function del(url,datas){
	$.dialog({
		title:'删除确认',
	    content: '确认删除该数据？',
	    ok: function(){
	    	jQuery.ajax({
	    		url:url,
	    		cache:false,
	    		type : 'GET',
	    		dataType : "json",
	    		data:datas,
	    		success:function(data){
	    			//alert("成功");
	    			location.reload();
	    		}
	    	});
	        return false;
	    },
	    cancelVal: '取消',
	    cancel: true /*为true等价于function(){}*/
	});
}
/**
*  确认操作提示
*/
function ope(url,datas,title,ct){
	$.dialog({
		title:title,
	    content: ct,
	    ok: function(){
	    	jQuery.ajax({
	    		url:url,
	    		cache:false,
	    		type : 'GET',
	    		dataType : "json",
	    		data:datas,
	    		success:function(data){
	    			location.reload();
	    		}
	    	});
	        return false;
	    },
	    cancelVal: '取消',
	    cancel: true /*为true等价于function(){}*/
	});
}

/**
 * 改变数据，不带确认（适合列表删除，审核通过，撤销使用）
 * @param  from 数据所在的表单名
 * @author xcd
 * @version 1.0 2014-11-19 13:03
 * @see ope(url,datas,title,ct)
 */
function _changeData(form){
	$.post(form.action,getFormJson(form),function(data) {
		if (eval(data)) {
			location.reload();
		} else {
			alert("数据操作失败请联系管理员!");
		}
	});
}

/**
 * 改变数据,带确认（适合列表删除，审核通过，撤销使用）
 * @param  from 数据所在的表单名
 * @author xcd
 * @version 1.0 2014-11-19 13:03
 */
function _changeDataWithConfirm(form){
	$.dialog({
		title:"确认对话框",
	    content:"数据操作确认,确定执行，取消关闭",
	    ok: function(){
	    	_changeData(form);
	        return false;
	    },
	    cancelVal: '取消',
	    cancel: true /*为true等价于function(){}*/
	});
}

function closeWin(){
	wd.close();
}

function reload(){
	location.reload();
}
/**
 * 初始化表单验证
 * @param id
 */
function initForm(id,m){
	jQuery("#m").val(m);
	jQuery("#"+id).validate({
		submitHandler: function(form) {
			save(form);
		}
	});
}
function initValidate(id){
	jQuery("#"+id).validate({
		submitHandler: function(form) {
			save(form);
		}
	});
}
/**
 * 保存数据
 * @param form
 */
function save(form){
	jQuery.ajax({
		url : form.action,
		cache:false,
		type : 'POST',
		data:getFormJson(form),
		dataType : "json",
		success : function(data){
			//alert(data.rs);
			if(!data.rs)
			{
				$("#msg").text(data.msg);
			}else{
				location.reload();
			}
		}
	});
}


/**
 * 获取表单对象
 * @param frm
 * @returns
 */
function getFormJson(frm) {
	var a = jQuery(frm).serializeArray();
	return a;
}

/**
 * 初始化表单数据
 * @param url   获取地址
 * @param datas 获取参数
 */
function loadData(url,datas){
	jQuery.ajax({
		url:url,
		cache:false,
		async:false,
		type : 'GET',
		dataType:"json",
		data:datas,
		success:function(data){
			setValue(data);
		}
	});
}


/**
 * 填充form表单
 *
 * @param obj
 * @version 1.0 boss liu  只能填充表单，不能正确判断填充radio
 * @version 1.1 xcd 处理radio选中问题
 */
function setValue(obj) {
	// 开始遍历     
	for ( var p in obj) {
		// 方法  
		if (typeof (obj[p]) == "function") {
			// obj[p]();       
		} else {
			var o=jQuery("#"+p).val();
			var isSelect=$("#"+p).is("select");
			if(o==""||o==null||o==undefined||isSelect){//input=text//值为空填充 需要处理select的情况
				jQuery("#" + p).val($.trim(obj[p]));
			}else{//input=radio||checkbox
				jQuery("input[name='"+p+"'][value='"+obj[p]+"']").attr("checked","checked");
			}
			
			// p 为属性名称，obj[p]为对应属性的值       
		}
	}
}
